home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Topik / Topik - Disk 37 - Games 3 (19xx)(Topik Public Domain)(PD)[WB].zip / Topik - Disk 37 - Games 3 (19xx)(Topik Public Domain)(PD)[WB].adf / RUMMY / SOURCE / menus.c.pp / menus.c
C/C++ Source or Header  |  1991-02-24  |  13KB  |  312 lines

  1. /* MENUS.C
  2.  * This file contains the menu declarations and initializations. It should
  3.  * be linked in the main program. Any parts of this file needed by other
  4.  * modules will be referenced in the files externs.h which will be included
  5.  * in every module of the program.
  6.  */
  7. #include    <intuition/intuition.h>
  8. #include    "defns.h"
  9.  
  10. struct    IntuiText    vmtxt[] =    /*verify menu texts*/
  11. {
  12.     { 2,3,JAM2,1,0,NULL,"Verify End Game    ",NULL },
  13.     { 2,3,JAM2,1,0,NULL,"Verify Quit Program",NULL}
  14. };
  15.  
  16. struct    MenuItem    vmitems[] =    /*verify menu items*/
  17. {
  18.     { &vmitems[1],0,0,19*FWIDTH,FHEIGHT,ITEMTEXT | HIGHCOMP,NULL,
  19.       (APTR)&vmtxt[0],NULL,NULL,NULL,MENUNULL
  20.     },
  21.     { NULL,0,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP, NULL,
  22.       (APTR)&vmtxt[1],NULL,NULL,NULL,MENUNULL
  23.     }
  24. };
  25.  
  26.  
  27. struct    IntuiText    cmtxt[] =    /*checkable menu text*/
  28. {
  29.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player One",NULL},
  30.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player Two",NULL },
  31.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Player Three",NULL }
  32. };
  33. struct    IntuiText    ncmtxt[] =    /*noncheckable menu text*/
  34. {
  35.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer One",NULL },
  36.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer Two",NULL },
  37.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"AutoPlayer Three",NULL }
  38. };
  39.  
  40.  
  41. struct    MenuItem    mmsub[] =    /*modify memory submenu items*/
  42. {
  43.     { &mmsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  44.       NULL, (APTR)&ncmtxt[0], NULL,NULL,NULL, MENUNULL
  45.     },
  46.     { &mmsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  47.       NULL, (APTR)&ncmtxt[1], NULL,NULL,NULL, MENUNULL
  48.     },
  49.     { NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  50.       NULL, (APTR)&ncmtxt[2], NULL,NULL,NULL, MENUNULL
  51.     }
  52. };
  53. struct    MenuItem    mcsub[] =    /*manual control submenu items*/
  54. {
  55.     { &mcsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
  56.       NULL, (APTR)&cmtxt[0], NULL,NULL,NULL, MENUNULL
  57.     },
  58.     { &mcsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  59.       NULL, (APTR)&cmtxt[1], NULL,NULL,NULL, MENUNULL
  60.     },
  61.     { NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  62.       NULL, (APTR)&cmtxt[2], NULL,NULL,NULL, MENUNULL
  63.     }
  64. };
  65. struct    MenuItem    vcsub[] =    /*view cards submenu items*/
  66. {
  67.     { &vcsub[1],SMOS,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
  68.       NULL, (APTR)&cmtxt[0], NULL,NULL,NULL, MENUNULL
  69.     },
  70.     { &vcsub[2],SMOS,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  71.       NULL, (APTR)&cmtxt[1], NULL,NULL,NULL, MENUNULL
  72.     },
  73.     { NULL,SMOS,2*FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  74.       NULL, (APTR)&cmtxt[2], NULL,NULL,NULL, MENUNULL
  75.     }
  76. };
  77. struct    IntuiText    sctxt[] =    /*shuffle/create pack submenu text*/
  78. {
  79.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"After each hand",NULL},
  80.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"After each game",NULL}
  81. };
  82. struct    MenuItem    ipsub[] =    /*initialise pack submenu items*/
  83. {
  84.     { &ipsub[1],SMOS,0,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | CHECKED | MENUTOGGLE | ITEMENABLED,
  85.       NULL, (APTR)&sctxt[0], NULL,NULL,NULL, MENUNULL
  86.     },
  87.     { NULL,SMOS,FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | MENUTOGGLE | ITEMENABLED,
  88.       NULL, (APTR)&sctxt[1], NULL,NULL,NULL, MENUNULL
  89.     }
  90. };
  91. struct    MenuItem    spsub[] =    /*shuffle pack submenu items*/
  92. {
  93.     { &spsub[1],SMOS,0,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKED | CHECKIT | MENUTOGGLE | ITEMENABLED,
  94.       NULL, (APTR)&sctxt[0], NULL,NULL,NULL, MENUNULL
  95.     },
  96.     { NULL,SMOS,FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | CHECKIT | MENUTOGGLE | ITEMENABLED,
  97.       NULL, (APTR)&sctxt[1], NULL,NULL,NULL, MENUNULL
  98.     }
  99. };
  100.  
  101. /*all items below are checkwidth in to improve readability*/
  102. struct    IntuiText    dmtxt[] =    /*debug menu text*/
  103. {
  104.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"View Cards >",NULL },
  105.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Manual Deal",NULL },
  106.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Manual Control >",NULL },
  107.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Modify Memory >",NULL },
  108.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Open New Pack >",NULL },
  109.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Shuffle Pack >",NULL },
  110.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Continuous Play",NULL}
  111. };
  112. struct    MenuItem    dmitems[] =    /*debug menu items*/
  113. {
  114.     { &dmitems[1],0,0, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  115.       NULL, (APTR)&dmtxt[0], NULL,NULL, vcsub, MENUNULL
  116.     },
  117.     { &dmitems[2],0,FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  118.       NULL, (APTR)&dmtxt[1], NULL,NULL,NULL,MENUNULL
  119.     },
  120.     { &dmitems[3],0,2*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  121.       NULL, (APTR)&dmtxt[2], NULL,NULL, mcsub, MENUNULL
  122.     },
  123.     { &dmitems[4],0,3*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
  124.       NULL, (APTR)&dmtxt[3], NULL,NULL, mmsub, MENUNULL
  125.     }, /*this item (MODIFY MEMORY) is disabled for obvious reasons*/
  126.     { &dmitems[5],0,4*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  127.       NULL, (APTR)&dmtxt[4], NULL,NULL, ipsub, MENUNULL
  128.     },
  129.     { &dmitems[6],0,5*FHEIGHT, 18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  130.       NULL, (APTR)&dmtxt[5], NULL,NULL, spsub, MENUNULL
  131.     },
  132.     { NULL,0,6*FHEIGHT,18*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKIT | MENUTOGGLE,
  133.      NULL, (APTR)&dmtxt[6], NULL,NULL, NULL, MENUNULL}
  134. };
  135.  
  136. struct    IntuiText    imtxt[] =    /*Intelligence menu texts*/
  137. {
  138.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level One",NULL },
  139.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Two",NULL },
  140.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Three",NULL },
  141.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Four",NULL },
  142.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Five",NULL },
  143.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Six",NULL },
  144.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Seven",NULL },
  145.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Eight",NULL },
  146.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Nine",NULL },
  147.     { MENUCOL1,MENUCOL2,JAM2,CHECKWIDTH,0,NULL,"Level Ten",NULL }
  148. };
  149.  
  150. struct    MenuItem    p1isub[] =    /*Player One Intelligence sub menu items*/
  151. {
  152.     { &p1isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  153.       0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
  154.     },
  155.     { &p1isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  156.       0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
  157.     },
  158.     { &p1isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  159.       0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
  160.     },
  161.     { &p1isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
  162.       0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
  163.     },
  164.     { &p1isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  165.       0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
  166.     },
  167.     { &p1isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  168.       0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
  169.     },
  170.     { &p1isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  171.       0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
  172.     },
  173.     { &p1isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  174.       0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
  175.     },
  176.     { &p1isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  177.       0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
  178.     },
  179.     { NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  180.       0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
  181.     }
  182. };
  183.  
  184. struct    MenuItem    p2isub[] =    /*Player Two intelligence submenu items*/
  185. {
  186.     { &p2isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  187.       0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
  188.     },
  189.     { &p2isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  190.       0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
  191.     },
  192.     { &p2isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  193.       0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
  194.     },
  195.     { &p2isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
  196.       0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
  197.     },
  198.     { &p2isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  199.       0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
  200.     },
  201.     { &p2isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  202.       0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
  203.     },
  204.     { &p2isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  205.       0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
  206.     },
  207.     { &p2isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  208.       0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
  209.     },
  210.     { &p2isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  211.       0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
  212.     },
  213.     { NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  214.       0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
  215.     }
  216. };
  217.  
  218. struct    MenuItem    p3isub[] =    /*Player Three intelligence sub menu items*/
  219. {
  220.     { &p3isub[1],SMOS,0,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  221.       0X3FE, (APTR)&imtxt[0], NULL,NULL,NULL,MENUNULL
  222.     },
  223.     { &p3isub[2],SMOS,FHEIGHT,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  224.       0X3FD, (APTR)&imtxt[1], NULL,NULL,NULL,MENUNULL
  225.     },
  226.     { &p3isub[3],SMOS,FHEIGHT*2,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  227.       0X3FB, (APTR)&imtxt[2], NULL,NULL,NULL,MENUNULL
  228.     },
  229.     { &p3isub[4],SMOS,FHEIGHT*3,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED | CHECKED,
  230.       0X3F7, (APTR)&imtxt[3], NULL,NULL,NULL,MENUNULL
  231.     },
  232.     { &p3isub[5],SMOS,FHEIGHT*4,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  233.       0X3EF, (APTR)&imtxt[4], NULL,NULL,NULL,MENUNULL
  234.     },
  235.     { &p3isub[6],SMOS,FHEIGHT*5,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  236.       0X3DF, (APTR)&imtxt[5], NULL,NULL,NULL,MENUNULL
  237.     },
  238.     { &p3isub[7],SMOS,FHEIGHT*6,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  239.       0X3BF, (APTR)&imtxt[6], NULL,NULL,NULL,MENUNULL
  240.     },
  241.     { &p3isub[8],SMOS,FHEIGHT*7,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  242.       0X37F, (APTR)&imtxt[7], NULL,NULL,NULL,MENUNULL
  243.     },
  244.     { &p3isub[9],SMOS,FHEIGHT*8,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  245.       0X2FF, (APTR)&imtxt[8], NULL,NULL,NULL,MENUNULL
  246.     },
  247.     { NULL, SMOS,FHEIGHT*9,12*FWIDTH,FHEIGHT, CHECKIT | ITEMTEXT | HIGHCOMP | ITEMENABLED,
  248.       0X1FF, (APTR)&imtxt[9], NULL,NULL,NULL,MENUNULL
  249.     }
  250. };
  251.  
  252. struct    MenuItem    imitems[] =    /*Intelligence menu items*/
  253. {
  254.     { &imitems[1], 0,0,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  255.       NULL, (APTR)&ncmtxt[0], NULL,NULL,p1isub, MENUNULL
  256.     },
  257.     { &imitems[2], 0,FHEIGHT,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  258.       NULL, (APTR)&ncmtxt[1], NULL,NULL,p2isub, MENUNULL
  259.     },
  260.     { NULL, 0,FHEIGHT*2,19*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  261.       NULL, (APTR)&ncmtxt[2], NULL,NULL,p3isub, MENUNULL
  262.     }
  263. };
  264.  
  265. struct    IntuiText    pmtxt[] =    /*Project Menu text*/
  266. {
  267.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Play >",NULL},
  268.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Reorder Cards",NULL},
  269.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"About",NULL},
  270.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Quit",NULL},
  271.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Three Player Game",NULL},
  272.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"",NULL},
  273.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Two Player Game",NULL},
  274.     { MENUCOL1,MENUCOL2,JAM2,1,0,NULL,"Exit Current Game",NULL}
  275. };
  276.  
  277. struct    MenuItem    ppsub[] =    /*Project-Play sub items*/
  278. {
  279.     { &ppsub[1], SMOS,0,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  280.       NULL, (APTR)&pmtxt[4], NULL,NULL,NULL, MENUNULL},
  281.     { &ppsub[2], SMOS,FHEIGHT,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
  282.       NULL, (APTR)&pmtxt[5], NULL,NULL,NULL, MENUNULL},
  283.     { &ppsub[3], SMOS,FHEIGHT*2,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  284.       NULL, (APTR)&pmtxt[6], NULL,NULL,NULL, MENUNULL},
  285.     { NULL, SMOS,FHEIGHT*3,26*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
  286.       NULL, (APTR)&pmtxt[7], NULL,NULL,NULL, MENUNULL}
  287. };
  288.  
  289. struct    MenuItem    pmitems[] =    /*Project menu items*/
  290. {
  291.     { &pmitems[1],0,0,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  292.       NULL,(APTR)&pmtxt[0],NULL,NULL,ppsub,MENUNULL
  293.     },
  294.     { &pmitems[2],0,FHEIGHT,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP,
  295.       NULL,(APTR)&pmtxt[1],NULL,NULL,NULL,MENUNULL
  296.     }/* this item (REORDER CARDS) is disabled for obvious reasons*/,
  297.     { &pmitems[3],0,FHEIGHT*2,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  298.       NULL,(APTR)&pmtxt[2],NULL,NULL,NULL,MENUNULL
  299.     },
  300.     { NULL,0,FHEIGHT*3,15*FWIDTH,FHEIGHT, ITEMTEXT | HIGHCOMP | ITEMENABLED,
  301.       NULL,(APTR)&pmtxt[3],NULL,NULL,NULL,MENUNULL
  302.     }
  303. };
  304.  
  305. struct    Menu    menu[] =    /*menu strip*/
  306. {
  307.     { &menu[1], 0,0,9*FWIDTH,FHEIGHT, MENUENABLED, "Project", pmitems},
  308.     { &menu[2], 9*FWIDTH,0,14*FWIDTH,FHEIGHT, MENUENABLED, "Intelligence", imitems },
  309.     { &menu[3], 23*FWIDTH,0,9*FWIDTH,FHEIGHT, MENUENABLED, "Special", dmitems},
  310.     { NULL, 32*FWIDTH,0,8*FWIDTH,FHEIGHT, MENUENABLED, "Verify", vmitems}
  311. };
  312.